package com.hns.its.domain;
// Generated 2017-6-1 15:18:35 by Hibernate Tools 5.2.3.Final

import com.alibaba.fastjson.annotation.JSONField;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.*;
import java.util.Date;

/**
 * 船期
 */
@Entity
@Table(name = "its_base_shipping_schedule")
public class ItsBaseShippingScheduleEntity implements java.io.Serializable {

	private static final long serialVersionUID = 7963798853800328423L;

	private String id;
	private String logisticId; // 物流商ID
	private String shipName; // 船名
	private String shipCnName; // 中文船名
	private String shipTimer; // 航次
	private Date sailingDate; // 船期
	private Date intoDate; // 进场时间
	private Date offDate; // 截箱时间
	private Date cutOffDate; // 截关时间
	private Date offLadingDate; // 截提单时间
	private Date berthDate; // 预泊时间
	private Date leaveDate; // 预离时间
	private String crawlWharf; // 爬取码头
	private Date crawlDate; // 爬取时间
	private String createId;
	private Date createTime;
	private String updateId;
	private Date updateTime;

	public ItsBaseShippingScheduleEntity() {
	}

	public ItsBaseShippingScheduleEntity(String id) {
		this.id = id;
	}

	@Id
	@GenericGenerator(name = "system-uuid", strategy = "uuid")
	@GeneratedValue(generator = "system-uuid")
	@Column(name = "id", unique = true, nullable = false, length = 32)
	public String getId() {
		return this.id;
	}

	public void setId(String id) {
		this.id = id;
	}

	@Column(name = "logistic_id", length = 32)
	public String getLogisticId() {
		return this.logisticId;
	}

	public void setLogisticId(String logisticId) {
		this.logisticId = logisticId;
	}

	@Length(max = 100)
	@Column(name = "ship_timer", length = 100)
	public String getShipTimer() {
		return this.shipTimer;
	}

	public void setShipTimer(String shipTimer) {
		this.shipTimer = shipTimer;
	}

	@JSONField(format = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@Column(name = "sailing_date")
	public Date getSailingDate() {
		return this.sailingDate;
	}

	public void setSailingDate(Date sailingDate) {
		this.sailingDate = sailingDate;
	}

	@JSONField(format = "yyyy-MM-dd HH:mm")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
	@Column(name = "off_date")
	public Date getOffDate() {
		return this.offDate;
	}

	public void setOffDate(Date offDate) {
		this.offDate = offDate;
	}

	@Column(name = "create_id", length = 32)
	public String getCreateId() {
		return this.createId;
	}

	public void setCreateId(String createId) {
		this.createId = createId;
	}

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@Column(name = "create_time")
	public Date getCreateTime() {
		return this.createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	@Column(name = "update_id", length = 32)
	public String getUpdateId() {
		return this.updateId;
	}

	public void setUpdateId(String updateId) {
		this.updateId = updateId;
	}

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@Column(name = "update_time")
	public Date getUpdateTime() {
		return this.updateTime;
	}

	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

	@JSONField(format = "yyyy-MM-dd HH:mm")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
	@Column(name = "off_lading_date")
	public Date getOffLadingDate() {
		return this.offLadingDate;
	}

	public void setOffLadingDate(Date offLadingDate) {
		this.offLadingDate = offLadingDate;
	}

	@JSONField(format = "yyyy-MM-dd HH:mm")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
	@Column(name = "cut_off_date")
	public Date getCutOffDate() {
		return cutOffDate;
	}

	public void setCutOffDate(Date cutOffDate) {
		this.cutOffDate = cutOffDate;
	}

	@Length(max = 50)
	@Column(name = "ship_name")
	public String getShipName() {
		return shipName;
	}

	public void setShipName(String shipName) {
		this.shipName = shipName;
	}

	@JSONField(format = "yyyy-MM-dd HH:mm")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
	@Column(name = "into_date")
	public Date getIntoDate() {
		return intoDate;
	}

	public void setIntoDate(Date intoDate) {
		this.intoDate = intoDate;
	}

	@Length(max = 50)
	@Column(name = "ship_cn_name")
	public String getShipCnName() {
		return shipCnName;
	}

	public void setShipCnName(String shipCnName) {
		this.shipCnName = shipCnName;
	}

	@Column(name = "berth_date")
	public Date getBerthDate() {
		return berthDate;
	}

	
	public void setBerthDate(Date berthDate) {
		this.berthDate = berthDate;
	}

	@Column(name = "leave_date")
	public Date getLeaveDate() {
		return leaveDate;
	}

	
	public void setLeaveDate(Date leaveDate) {
		this.leaveDate = leaveDate;
	}

	@Column(name = "crawl_wharf")
	public String getCrawlWharf() {
		return crawlWharf;
	}

	public void setCrawlWharf(String crawlWharf) {
		this.crawlWharf = crawlWharf;
	}

	@Column(name = "crawl_date")
	public Date getCrawlDate() {
		return crawlDate;
	}

	public void setCrawlDate(Date crawlDate) {
		this.crawlDate = crawlDate;
	}
	
}
